﻿using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using RealtReview.DataAccess.Entities;

namespace RealtyReview.Business.Models.ViewModels
{
    [DataContract]
    public class ReviewViewModel
    {
        public Guid Id { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [Display(Name = "Дата заселения")]
        public DateTime ArrivialDate { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [Display(Name = "Дата выселения")]
        public DateTime? EvictionDate { get; set; }

        [Required]
        [Display(Name = "Стоимость аренды")]
        public int Price { get; set; }

        [Required]
        [Display(Name = "Тип аренды")]
        public RentType RentType { get; set; }

        [Required]
        [Display(Name = "Статус")]
        public ReviewStatus Status { get; set; }

        [Required]
        [Display(Name = "Дополнительно")]
        [DataMember(EmitDefaultValue = false)]
        public string Description { get; set; }

        [Display(Name = "Сан узел")]
        [DataMember(EmitDefaultValue = false)]
        public WcType? WcType { get; set; }

        [Display(Name = "Соседи")]
        [DataMember(EmitDefaultValue = false)]
        public NeighborsNature? NeighborsNature { get; set; }

        [Display(Name = "Интернет")]
        [DataMember(EmitDefaultValue = false)]
        public InternetQuality? InternetQuality { get; set; }

        [Display(Name = "Ремонт")]
        [DataMember(EmitDefaultValue = false)]
        public RepairQuality? RepairQuality { get; set; }

        [Display(Name = "Транспорт")]
        [DataMember(EmitDefaultValue = false)]
        public PublicTransportMode? AvailiableTransportModes { get; set; }
    }
}